import { Rule } from 'ant-design-vue/lib/form';
import { ref } from 'vue'

export function useNewPassword() {
  //- 定义-新密码响应式数据
  const newPasswordStrRef = ref<string>("");

  //- 方法-验证新密码
  const validateNewPassword = async (_rule: Rule, _value: string) => {
    // 1.判断是否为空值
    if (_value === "") {
      return Promise.reject("密码不能为空");
    }
    // 2.判断密码长度是否小于6
    if (_value.length < 6) {
      return Promise.reject("密码长度不能小于6位");
    }
    // 3.判断密码长度是否大于16
    if (_value.length > 16) {
      return Promise.reject("密码长度不能大于16位");
    }
    return Promise.resolve();
  };

  //- 新密码校验规则
  const newPasswordRulesArr: Array<Object> = [
    { required: true, validator: validateNewPassword }
  ];

  //- 返回暴露数据
  return {
    newPasswordStrRef,
    newPasswordRulesArr,
  }
}